Using an object key to deprioritize processing of relative regions

ABSTRACT

A method for using an object key to deprioritize processing of relative regions of images of an object includes capturing an image of an object to be tracked and selecting an object key of the object. The object key includes a portion of the object, the object key is attached to the object and is recognizable by an image capture device. The method includes calculating a relative size of the object key with respect to a size of the object and a location of the object key with respect to the object, and tracking one or more locations of the object from the relative size and location of the object with respect to the object key and by capturing a plurality of images of the object key at a resolution sufficient for tracking movement of the object key.

FIELD

The subject matter disclosed herein relates to image processing and moreparticularly relates to using an object key to deprioritize processingof relative regions of images of an object.

BACKGROUND

Video analytics is becoming increasingly used and expanding out to edgecomputing. Many of the edge computing systems are rugged and limited inprocessing power, or may not have a high bandwidth pipe through which tosend streams for processing elsewhere. Often, these devices may beattached to one or more cameras.

BRIEF SUMMARY

A method for using an object key to deprioritize processing of relativeregions of images of an object is disclosed. An apparatus and computerprogram product also perform the functions of the apparatus. The methodincludes capturing an image of an object to be tracked and selecting anobject key of the object. The object key includes a portion of theobject, the object key is attached to the object and is recognizable byan as image capture device. The method includes calculating a relativesize of the object key with respect to a size of the object and alocation of the object key with respect to the object, and tracking oneor more locations of the object from the relative size and location ofthe object with respect to the object key and by capturing a pluralityof images of the object key at a resolution sufficient for trackingmovement of the object key.

An apparatus for using an object key to deprioritize processing ofrelative regions of images of an object includes a processor and amemory storing code. The code is executable by the processor to performoperations that include capturing an image of an object to be trackedand selecting an object key of the object. The object key includes aportion of the object, the object key is attached to the object and isrecognizable by an image capture device. The operations includecalculating a relative size of the object key with respect to a size ofthe object and a location of the object key with respect to the object,and tracking one or more locations of the object from the relative sizeand location of the object with respect to the object key and bycapturing a plurality of images of the object key at a resolutionsufficient for tracking movement of the object key.

A program product for using an object key to deprioritize processing ofrelative regions of images of an object includes a non-volatile computerreadable storage medium storing code. The code is configured to beexecutable by a processor to perform operations that include capturingan image of an object to be tracked, selecting an object key of theobject, where the object key includes a portion of the object, theobject key is attached to the object and is recognizable by an imagecapture device. The operations include calculating a relative size ofthe object key with respect to a size of the object and a location ofthe object key with respect to the object, and tracking one or morelocations of the object from the relative size and location of theobject with respect to the object key and by capturing a plurality ofimages of the object key at a resolution sufficient for trackingmovement of the object key.

BRIEF DESCRIPTION OF THE DRAWINGS

A more particular description of the embodiments briefly described abovewill be rendered by reference to specific embodiments that areillustrated in the appended drawings. Understanding that these drawingsdepict only some embodiments and are not therefore to be considered tobe limiting of scope, the embodiments will be described and explainedwith additional specificity and detail through the use of theaccompanying drawings, in which:

FIG. 1 is a schematic block diagram illustrating a system for using anobject key to deprioritize processing of relative regions of images ofan object, according to various embodiments;

FIG. 2 is a schematic block diagram illustrating an apparatus for usingan object key to deprioritize processing of relative regions of imagesof an object, according to various embodiments;

FIG. 3 is a schematic block diagram illustrating another apparatus forusing an object key to deprioritize processing of relative regions ofimages of an object, according to various embodiments;

FIG. 4 is a schematic flow chart diagram illustrating a method for usingan object key to deprioritize processing of relative regions of imagesof an object, according to various embodiments;

FIG. 5A is a first part of a schematic flow chart diagram illustratinganother method for using an object key to deprioritize processing ofrelative regions of images of an object, according to variousembodiments; and

FIG. 5B is a second part of the schematic flow chart diagram of FIG. 5A.

DETAILED DESCRIPTION

As will be appreciated by one skilled in the art, aspects of theembodiments may be embodied as a system, method or program product.Accordingly, embodiments may take the form of an entirely hardwareembodiment, an entirely software embodiment (including firmware,resident software, micro-code, etc.) or an embodiment combining softwareand hardware aspects that may all generally be referred to herein as a“circuit,” “module” or “system.” Furthermore, embodiments may take theform of a program product embodied in one or more computer readablestorage devices storing machine readable code, computer readable code,and/or program code, referred hereafter as code. The storage devices, insome embodiments, are tangible, non-transitory, and/or non-transmission.The storage devices, in some embodiments, do not embody signals.

Many of the functional units described in this specification have beenlabeled as modules, in order to more particularly emphasize theirimplementation independence. For example, a module may be implemented asa hardware circuit comprising custom very large scale integrated(“VLSI”) circuits or gate arrays, off-the-shelf semiconductors such aslogic chips, transistors, or other discrete components. A module mayalso be implemented in programmable hardware devices such as a fieldprogrammable gate array (“FPGA”), programmable array logic, programmablelogic devices or the like.

Modules may also be implemented in code and/or software for execution byvarious types of processors. An identified module of code may, forinstance, comprise one or more physical or logical blocks of executablecode which may, for instance, be organized as an object, procedure, orfunction. Nevertheless, the executables of an identified module need notbe physically located together, but may comprise disparate instructionsstored in different locations which, when joined logically together,comprise the module and achieve the stated purpose for the module.

Indeed, a module of code may be a single instruction, or manyinstructions, and may even be distributed over several different codesegments, among different programs, and across several memory devices.Similarly, operational data may be identified and illustrated hereinwithin modules, and may be embodied in any suitable form and organizedwithin any suitable type of data structure. The operational data may becollected as a single data set, or may be distributed over differentlocations including over different computer readable storage devices.Where a module or portions of a module are implemented in software, thesoftware portions are stored on one or more computer readable storagedevices.

Any combination of one or more computer readable medium may be utilized.The computer readable medium, in some embodiments, is a computerreadable storage medium. The computer readable storage medium, in someembodiments, is a storage device storing the code. The storage device,in various embodiments, includes but not limited to, an electronic,magnetic, optical, electromagnetic, infrared, holographic,micromechanical, or semiconductor system, apparatus, or device, or anysuitable combination of the foregoing. A computer readable storagemedium, as used herein, is not to be construed as being transitorysignals per se, such as radio waves or other freely propagatingelectromagnetic waves, electromagnetic waves propagating through awaveguide or other transmission media (e.g., light pulses passingthrough a fiber-optic cable), or electrical signals transmitted througha wire.

More specific examples (a non-exhaustive list) of the storage devicewould include the following: an electrical connection having one or morewires, a portable computer diskette, a hard disk, a random access memory(“RAM”), a read-only memory (“ROM”), an erasable programmable read-onlymemory (“EPROM” or “flash memory”), a portable compact disc read-onlymemory (“CD-ROM”), an optical storage device, a magnetic storage device,or any suitable combination of the foregoing. In the context of thisdocument, a computer readable storage medium may be any tangible mediumthat can contain, or store a program for use by or in connection with aninstruction execution system, apparatus, or device. When a computerreadable storage device is non-volatile, the non-volatile storage deviceis non-transitory.

Code for carrying out operations for embodiments may be written in anycombination of one or more programming languages including an objectoriented programming language such as Python, Ruby, R, Java, JavaScript, Smalltalk, C++, C sharp, Lisp, Clojure, PHP, or the like, andconventional procedural programming languages, such as the “C”programming language, or the like, and/or machine languages such asassembly languages. The code may execute entirely on an image capturedevice or image processing device, partly on an image capture device orimage processing device, as a stand-alone software package, partly onthe image capture device or image processing device and partly on aremote computer or entirely on the remote computer or server. In thelatter scenario, the remote computer may be connected to the imagecapture device or image processing device through any type of network,including a local area network (“LAN”), a wide area network (“WAN”), orthe like, or the connection may be made to an external computer (forexample, through the Internet using an Internet Service Provider).

Reference throughout this specification to “one embodiment,” “anembodiment,” “some embodiments,” or similar language means that aparticular feature, structure, or characteristic described in connectionwith the embodiment is included in at least one embodiment. Thus,appearances of the phrases “in one embodiment,” “in an embodiment,” “insome embodiments,” “in other embodiments,” and similar languagethroughout this specification may, but do not necessarily, all refer tothe same embodiment, but mean “one or more but not all embodiments”unless expressly specified otherwise. The terms “including,”“comprising,” “having,” and variations thereof mean “including but notlimited to,” unless expressly specified otherwise. An enumerated listingof items does not imply that any or all of the items are mutuallyexclusive, unless expressly specified otherwise. The terms “a,” “an,”and “the” also refer to “one or more” unless expressly specifiedotherwise.

Furthermore, the described features, structures, or characteristics ofthe embodiments may be combined in any suitable manner. In the followingdescription, numerous specific details are provided, such as examples ofprogramming, software modules, user selections, network transactions,database queries, database structures, hardware modules, hardwarecircuits, hardware chips, etc., to provide a thorough understanding ofembodiments. One skilled in the relevant art will recognize, however,that embodiments may be practiced without one or more of the specificdetails, or with other methods, components, materials, and so forth. Inother instances, well-known structures, materials, or operations are notshown or described in detail to avoid obscuring aspects of variousembodiments.

Aspects of the embodiments are described below with reference toschematic flowchart diagrams and/or schematic block diagrams of methods,apparatuses, systems, and program products according to embodiments. Itwill be understood that each block of the schematic flowchart diagramsand/or schematic block diagrams, and combinations of blocks in theschematic flowchart diagrams and/or schematic block diagrams, can beimplemented by code, modules, controllers, etc. When implemented incode, the code may be provided to a processor of a general purposecomputer, special purpose computer, or other programmable dataprocessing apparatus to produce a machine, such that the instructions,which execute via the processor of the computer or other programmabledata processing apparatus, create means for implementing thefunctions/acts specified in the schematic flowchart diagrams and/orschematic block diagrams block or blocks.

The code may also be stored in a storage device that can direct acomputer, other programmable data processing apparatus, or other devicesto function in a particular manner, such that the instructions stored inthe storage device produce an article of manufacture includinginstructions which implement the function/act specified in the schematicflowchart diagrams and/or schematic block diagrams block or blocks. Thecode may also be loaded onto a computer, other programmable dataprocessing apparatus, or other devices to cause a series of operationalsteps to be performed on the computer, other programmable apparatus orother devices to produce a computer implemented process such that thecode which execute on the computer or other programmable apparatusprovide processes for implementing the functions/acts specified in theflowchart and/or block diagram block or blocks.

The schematic flowchart diagrams and/or schematic block diagrams in theFigures illustrate the architecture, functionality, and operation ofpossible implementations of apparatuses, systems, methods and programproducts according to various embodiments. In this regard, each block inthe schematic flowchart diagrams and/or schematic block diagrams mayrepresent a module, segment, or portion of code, which comprises one ormore executable instructions of the code for implementing the specifiedlogical function(s).

It should also be noted that, in some alternative implementations, thefunctions noted in the block may occur out of the order noted in theFigures. For example, two blocks shown in succession may, in fact, beexecuted substantially concurrently, or the blocks may sometimes beexecuted in the reverse order, depending upon the functionalityinvolved. Other steps and methods may be conceived that are equivalentin function, logic, or effect to one or more blocks, or portionsthereof, of the illustrated Figures.

Although various arrow types and line types may be employed in theflowchart and/or block diagrams, they are understood not to limit thescope of the corresponding embodiments. Indeed, some arrows or otherconnectors may be used to indicate only the logical flow of the depictedembodiments. For instance, an arrow may indicate a waiting or monitoringperiod of unspecified duration between enumerated steps of the depictedembodiments. It will also be noted that each block of the block diagramsand/or flowchart diagrams, and combinations of blocks in the blockdiagrams and/or flowchart diagrams, can be implemented by specialpurpose hardware-based systems that perform the specified functions oracts, or combinations of special purpose hardware and code.

The description of elements in each figure may refer to elements ofproceeding figures. Like numbers refer to like elements in all figures,including alternate embodiments of like elements.

As used herein, a list with a conjunction of “and/or” includes anysingle item in the list or a combination of items in the list. Forexample, a list of A, B and/or C includes only A, only B, only C, acombination of A and B, a combination of B and C, a combination of A andC or a combination of A, B and C. As used herein, a list using theterminology “one or more of” includes any single item in the list or acombination of items in the list. For example, one or more of A, B and Cincludes only A, only B, only C, a combination of A and B, a combinationof B and C, a combination of A and C or a combination of A, B and C. Asused herein, a list using the terminology “one of” includes one and onlyone of any single item in the list. For example, “one of A, B and C”includes only A, only B or only C and excludes combinations of A, B andC. As used herein, “a member selected from the group consisting of A, B,and C,” includes one and only one of A, B, or C, and excludescombinations of A, B, and C.” As used herein, “a member selected fromthe group consisting of A, B, and C and combinations thereof” includesonly A, only B, only C, a combination of A and B, a combination of B andC, a combination of A and C or a combination of A, B and C.

A method for using an object key to deprioritize processing of relativeregions of images of an object is disclosed. An apparatus and computerprogram product also perform the functions of the apparatus. The methodincludes capturing an image of an object to be tracked and selecting anobject key of the object. The object key includes a portion of theobject, the object key is attached to the object and is recognizable byan image capture device. The method includes calculating a relative sizeof the object key with respect to a size of the object and a location ofthe object key with respect to the object, and tracking one or morelocations of the object from the relative size and location of theobject with respect to the object key and by capturing a plurality ofimages of the object key at a resolution sufficient for trackingmovement of the object key.

In some embodiments, tracking the one or more locations of the objectincludes capturing images of portions of the object that are not theobject key at a lower resolution and/or a lower rate than a resolutionand/or rate sufficient for tracking movement of the object key. In otherembodiments, tracking the one or more locations of the object includescapturing images of the object key without capturing images of portionsof the object that are not the object key. In other embodiments, themethod includes periodically capturing an image of portions of theobject that are not the object key at a resolution sufficient to verifythat the object is still attached to the object key. In otherembodiments, the method includes determining a degree of attachmentbetween the object and the object key, determining a verification ratebased on the degree of attachment, where a higher degree of attachmentresults in a lower verification rate than a lower degree of attachment,and periodically capturing, at the verification rate, an image of theobject at a resolution sufficient to verify that the object is stillattached to the object key.

In some embodiments, the captured image of the object is captured withan image capture device. The captured plurality of images of the objectkey are captured using one or more image capture devices. In otherembodiments, one or more image capture devices capturing the image ofthe object and the plurality of images of the object key use visiblelight, infrared light, and/or thermal imaging. In other embodiments, themethod includes identifying, in response to capturing the image of theobject, the object key within the image of the object. The object key isa recognizable element of the object with physical properties sufficientfor tracking the one or more locations of the object by capturing theplurality of images of the object key.

In some embodiments, the method includes identifying, in response tocapturing the image of the object, a plurality of potential object keyswithin the image of the object, determining a degree of attachmentbetween each of the plurality of potential object keys and the object,and determining a degree of recognizability of each of the plurality ofpotential object keys. The degree of recognizability of an object key ofthe plurality of potential object keys includes a measure of physicalproperties of the object key sufficient for tracking the one or morelocations of the object by capturing the plurality of images of theobject key. In the embodiments, selecting the object key of the objectincludes selecting an object key of the plurality of potential objectkeys based on the degree of attachment and the degree of recognizabilityof each object key of the plurality of potential object keys.

In some embodiments, the method includes, in response to calculating therelative size of the object key with respect to the size of the objectand the location of the object key with respect to the object,determining a pixel range of the portions of the object that are not theobject key. Tracking the one or more locations of the object includescapturing pixels of portions of the object that are not the object keyat a lower resolution and/or a lower rate than a resolution and/or ratesufficient for tracking movement of the object key. In furtherembodiments, capturing pixels of portions of the object that are not theobject key at a lower resolution and/or a lower rate than a resolutionand/or rate sufficient for tracking movement of the object key includesdeprioritizing processing of the pixels of the portions of the objectthat are not the object key, lowering a fidelity of the pixels of theportions of the object that are not the object key, and/or avoidingsending the pixels of the portions of the object that are not the objectkey to a remote processing entity.

An apparatus for using an object key to deprioritize processing ofrelative regions of images of an object includes a processor and amemory storing code. The code is executable by the processor to performoperations that include capturing an image of an object to be trackedand selecting an object key of the object. The object key includes aportion of the object, the object key is attached to the object and isrecognizable by an image capture device. The operations includecalculating a relative size of the object key with respect to a size ofthe object and a location of the object key with respect to the object,and tracking one or more locations of the object from the relative sizeand location of the object with respect to the object key and bycapturing a plurality of images of the object key at a resolutionsufficient for tracking movement of the object key.

In some embodiments, tracking the one or more locations of the objectincludes capturing images of portions of the object that are not theobject key at a lower resolution and/or a lower rate than a resolutionand/or rate sufficient for tracking movement of the object key, and/orcapturing images of the object key without capturing images of portionsof the object that are not the object key. In other embodiments, theoperations further include periodically capturing an image of portionsof the object that are not the object key at a resolution sufficient toverify that the object is still attached to the object key. In otherembodiments, the operations further include determining a degree ofattachment between the object and the object key, determining averification rate based on the degree of attachment, where a higherdegree of attachment results in a lower verification rate than a lowerdegree of attachment, and periodically capturing, at the verificationrate, an image of the object at a resolution sufficient to verify thatthe object is still attached to the object key.

In some embodiments, the captured image of the object is captured withan image capture device, and where the captured plurality of images ofthe object key are captured using one or more image capture devices. Inother embodiments, the operations further include identifying, inresponse to capturing the image of the object, the object key within theimage of the object, where the object key is a recognizable element ofthe object with physical properties sufficient for tracking the one ormore locations of the object by capturing the plurality of images of theobject key.

In some embodiments, the operations further include identifying, inresponse to capturing the image of the object, a plurality of potentialobject keys within the image of the object, determining a degree ofattachment between each of the plurality of object keys and the object,and determining a degree of recognizability of each of the plurality ofobject keys. The degree of recognizability of an object key of theplurality of object keys includes a measure of physical properties ofthe object key sufficient for tracking the one or more locations of theobject by capturing the plurality of images of the object key. In theembodiments, selecting the object key of the object includes selectingan object key of the plurality of object keys based on the degree ofattachment and the degree of recognizability of each object key of theplurality of object keys.

A program product for using an object key to deprioritize processing ofrelative regions of images of an object includes a non-volatile computerreadable storage medium storing code. The code is configured to beexecutable by a processor to perform operations that include capturingan image of an object to be tracked, selecting an object key of theobject, where the object key includes a portion of the object, theobject key is attached to the object and is recognizable by an imagecapture device. The operations include calculating a relative size ofthe object key with respect to a size of the object and a location ofthe object key with respect to the object, and tracking one or morelocations of the object from the relative size and location of theobject with respect to the object key and by capturing a plurality ofimages of the object key at a resolution sufficient for trackingmovement of the object key.

In some embodiments, tracking the one or more locations of the objectincludes capturing images of portions of the object that are not theobject key at a lower resolution and/or a lower rate than a resolutionand/or rate sufficient for tracking movement of the object key.

FIG. 1 is a schematic block diagram illustrating a system 100 for usingan object key to deprioritize processing of relative regions of imagesof an object, according to various embodiments. The system 100 includesan image processing apparatus 102 in each image capture device 104, acomputer network 106, a server 108, with an image processor 110 thatincludes an image processing apparatus 102, an object key 120, and anobject 130, which are described below.

The image processing apparatus 102 captures an image of the object 130and selects and object key 120. The object 130 includes an object key120 that is attached to the object 130 and the object key 120 isrecognizable by an image capture device 104. In the depicted system 100of FIG. 1 , the object 130 is a person and the object key 120 is a hatworn by the person. The image processing apparatus 102 calculates arelative size of the object 130 with respect to the object key 120 andcalculates a location of the object key 120 with respect to the object130. The image processing apparatus 102 tracks one or more locations ofthe object 130 from the relative size and location of the object 130with respect to the object key 120 and by capturing a plurality ofimages of the object key 120 at a resolution sufficient for trackingmovement of the object key 120. In some embodiments, the imageprocessing apparatus 102 periodically uses an image capture device tocapture a full image of the object 130 with the object key 120 where theobject 130 is captured at a higher resolution to verify that the objectkey 120 is still attached to the object 130. The image processingapparatus 102 is discussed in more detail below.

The system 100 includes one or more image capture devices 104 capable ofcapturing an image of the object key 120 and object 130. In someexamples, an image capture devices 104 is a camera, a video camera, aportable electronic device with a camera, a smartphone with a camera, asecurity camera, a web cam, a game tracking camera, or other devicecapable of capturing images emitting light in the visible lightspectrum. In other examples, the image capture devices 104 is a devicecapable of capturing images emitting infrared light. In otherembodiments, the image capture devices 104 is a thermal imaging device.

In some embodiments, one or more of the image capture devices 104 are astand-alone device. In other embodiments, one or more of the imagecapture devices 104 are embedded in another device. For example, theimage capture devices 104 may be embedded in a drone, a computingdevice, in a piece of equipment, in a security apparatus, in a vehicle,or any other device capable of including an image capture devices 104.In some embodiments, the image capture devices 104 includes a panfeature, a tilt feature, and/or a zoom feature. In some embodiments, theimage capture devices 104 is part of an apparatus that automaticallytracks an object. In other embodiments, the image capture devices 104includes a wide angle lens or some other mechanism to include create awide field of view.

In some embodiments, the image capture devices 104 transmits raw data tothe image processor 110. In other embodiments, the image capture devices104 includes an image processor 110 and transmits one or more processedimages to a server 108, to a data storage device, to a computing devicefor analysis, to an image processing application, or the like. Whileeach image capture devices 104 and the image processor 110 of the server108 in the system 100 of FIG. 1 includes an image processing apparatus102, in some embodiments the image processing apparatus 102 includes aportion of the image processing apparatus 102 and the image processor110 includes a portion of the image processing apparatus 102. In otherembodiments, the image processor 110 of the server includes the imageprocessing apparatus 102 while the image capture devices 104 don'tinclude a portion of the image processing apparatus 102. In otherembodiments, the image processing apparatus 102 is spread among orlocated on other computing devices. One of skill in the art willrecognize other locations for all or a portion of the image processingapparatus 102.

The system 100 includes a computer network 106 that connects the imagecapture devices 104 to the server 108. In some embodiments, one or moreof the image capture devices 104 are connected directly to the server108. The computer network 106, in various embodiments, include a localarea network (“LAN”), a wide area network (“WAN”), a fiber opticnetwork, a wireless connection, the Internet, etc. or any combination ofnetworks. The computer network 106 includes, in various embodiments,servers, cabling, routers, switches, and the like.

The wireless connection may be a mobile telephone network. The wirelessconnection may also employ a Wi-Fi network based on any one of theInstitute of Electrical and Electronics Engineers (“IEEE”) 802.11standards. Alternatively, the wireless connection may be a BLUETOOTH®connection. In addition, the wireless connection may employ a RadioFrequency Identification (“RFID”) communication including RFID standardsestablished by the International Organization for Standardization(“ISO”), the International Electrotechnical Commission (“IEC”), theAmerican Society for Testing and Materials® (ASTM®), the DASH7™Alliance, and EPCGlobal™.

Alternatively, the wireless connection may employ a ZigBee® connectionbased on the IEEE 802 standard. In some embodiments, the wirelessconnection employs connection as designed by Sigma Designs®.Alternatively, the wireless connection may employ an ANT® and/or ANT+®connection as defined by Dynastream® Innovations Inc. of Cochrane,Canada.

The wireless connection may be an infrared connection includingconnections conforming at least to the Infrared Physical LayerSpecification (“IrPHY”) as defined by the Infrared Data Association®(“IrDA”®). Alternatively, the wireless connection may be a cellulartelephone network communication. All standards and/or connection typesinclude the latest version and revision of the standard and/orconnection type as of the filing date of this application.

The system 100 includes a server 108 with an image processor 110. Insome embodiments, the image capture devices 104 transmit captured imagesto the server 108 for processing by the image processor 110. In otherembodiments, each image capture device 104 includes some type of imageprocessing capability and the image processor 110 of the server 108performs other image processing functions, such as using captured imagedata from the various image capture devices 104 to track the object key120. In some embodiments, the image processor 110 is a graphicsprocessing unit (“GPU”). In other embodiments, the server 108 uses acentral processing unit (“CPU”), an accelerator, a GPU, etc. toimplement, execute, etc. the image processing apparatus 102. In someembodiments, the server 108 is a compute node in a rack, a blade server,a workstation, a desktop computer, a mainframe computer, a cloudcomputing device, or the like.

In the depicted system 100 of FIG. 1 , the object 130 is a person andthe object key 120 is a hat on the person. The system 100 of FIG. 1depicts the person moving from left to right. After the initial imagecapture on the left, the image processing apparatus 102 tracks the hatwhile tracking the person at a lower resolution 132 (depicted as theperson with dashed lines). The image processing apparatus 102 capturesanother full image of the person, which is the fourth image from theleft. At that point the hat (object key 120) is placed on a bench 140and the person (object 130) walks away, thus the object key 120 isseparated from the object 130. The number of images of a person and ahat is for illustrative purposes only and one of skill in the art willrecognize that more images may be captured.

In other embodiments, the object 130 is something else, such as avehicle, a product on an assembly line, an animal, etc. The object key120 changes as the object 130 changes. For example, where the object 130is a vehicle, the object key 120 may be a license plate, a vehicleemblem, a rear-view mirror, a spoiler, or other element of the vehiclethat is trackable. Where the object 130 is a product, such as a clockradio, such as a clock radio on an assembly line, the object key 120 maybe a button, a display, an emblem, or other unique feature off the clockradio. Where the object 130 is an animal, the object key 120 may be atail, a face, a marking of fur of a different color, or the like.

While the object key 120 is attached to the object 130, a degree ofattachment between the object key 120 and the object 130 varies. Forexample, a hat has a much lower degree of attachment to a person thanthe face of the person would have to the rest of the person. In someembodiments, the degree of attachment between the object 130 and theobject key 120 determines a verification rate, which is used herein as arate at which the image processing apparatus 102 captures an image ofthe object 130 at a high enough resolution to determine if object key120 is still attached to the object 130.

While the system 100 of FIG. 1 depicts a single object 130 beingtracked, in some embodiments, the image processing apparatus 102 tracksidentical objects 130, each with an identical object key 120. Forexample, the object 130 may be identical bottles on an assembly line andthe object key 120 may be a bottle cap. Once the image processingapparatus 102 captures an image of a bottle on the assembly line andselects the bottle cap as the object key 120, as identical bottles withbottle caps go by, the image processing apparatus 102 captures images ofthe bottle caps and deprioritizes image capture of the bottles. In someembodiments, the image processing apparatus 102 periodically captures animage of the bottle at sufficient resolution to recognize features ofthe bottle and to verify that the bottle caps are attached.

FIG. 2 is a schematic block diagram illustrating an apparatus 200 forusing an object key 120 to deprioritize processing of relative regionsof images of an object 130, according to various embodiments. Theapparatus 200 includes an image processing apparatus 102 that includesan object capture module 202, an object key module 204, a size andposition module 206, and a tracking module 208, which are describedbelow.

The apparatus 200 includes an object capture module 202 configured tocapture an image of an object 130 to be tracked. In some embodiments,the object capture module 202 receives input from a user to select anobject 130 to be tracked prior to the object capture module 202capturing an image of the object 130. In other embodiments, the imageprocessing apparatus 102 automatically selects an object 130 to betracked. For example, the image processing apparatus 102 may be part ofa security system and may start tracking a person that enters a field ofview of a particular image capture device 104. Selection of the object130 is discussed in more detail below with respect to the apparatus 300of FIG. 3 .

The object capture module 202, in some embodiments, uses an imagecapture device 104 to capture the image of the object 130 to be tracked.The image capture device 104, in some embodiments, is one of a pluralityof image capture devices 104. The image capture device 104 captures theimage of the object 130 with enough resolution to identify features ofthe object 130, including features of potential object keys 120 of theobject 130. In some embodiments, the object capture module 202 processesraw data from the image capture device 104 to produce an image ofsufficient resolution to identify the object 130 and to identify anobject key 120 from the captured image of the object 130.

The apparatus 200 includes an object key module 204 configured to selectan object key 120 of the object 130. A portion of the object 130includes an object key 120. The object key 120 is attached to the object130 and is recognizable by an image capture device 104. In someembodiments, an object key 120 is defined by particular boundaries, suchas edges, lines, etc. of the object key 120 to facilitate definingboundaries of the object key 120. In some embodiments, the object keymodule 204 identifies one or more potential object keys 120 within theimage of the object 130 where the one or more potential object keys 120are each a recognizable element of the object 130 with physicalproperties sufficient for tracking the one or more locations of theobject 130 by capturing the plurality of images of the object key 120.

In some embodiments, the object key module 204 selects the object key120 based on a minimum size limit. For example, the minimum size limitis a smallest size for an object key 120 based on capabilities of one ormore image capture devices 104 that may be used to track the object 130by tracking the object key 120. An object key 120 that is smaller thanthe minimum size limit may be difficult to identify from captured imagesof the object key 120. In some embodiments, the object key module 204sets the minimum size limit based on potential distances between theobject 130 and the image capture devices 104, pixel count capabilitiesof the image capture devices 104, lens quality of the image capturedevices 104, and the like. In some embodiments, a user sets the minimumsize limit. One of skill in the art will recognize other ways to set theminimum size limit.

In some embodiments, the object key module 204 selects an object key 120to be below a certain percentage of an overall size of the object 130. Apurpose of the image processing apparatus 102 is to reduce imageprocessing load when tracking the object 130 so, in general, the smallerthe object key 120 is with respect to the size of the object 130 themore reduction in processing there will be for the portions of theobject 130 not including the object key 120. However, an amount ofdetail of the object key 120 may also affect processing load of theobject key 120.

In some embodiments, the object key module 204 also evaluatesrecognizability of the object key 120 when selecting an appropriateobject key 120. For example, a portion of the object 130 withoutrecognizable features may be a poor candidate to be an object key 120because an object key 120 without recognizable features is typicallyharder to track than an object key 120 with recognizable features. Forexample, a license plate of a vehicle may be a better candidate as anobject key than a hood of the vehicle where the hood is devoid offeatures. However, where the image capture devices 104 are positionedoverhead (for example in a drone) or are positioned high, the hood ofthe vehicle may be a good choice as an object key 120. Where a hood of avehicle is use as an object key 120, the outline of the hood may be usedto identify the hood. In addition, the hood may include stripes, ridges,or other features that may increase trackability of the hood. The objectkey module 204, in some embodiments, selects an object key 120 whilebalancing the minimum size limit, potential object keys 120, the overallsize of the object 130, recognizable features of the object key 120,etc. One of skill in the art will recognize other ways for the objectkey module 204 to select an object key 120 attached to the object 130.

The apparatus 200 includes a size and position module 206 configured tocalculate a relative size of the object key 120 with respect to a sizeof the object 130 and a location of the object key 120 with respect tothe object 130. Calculating the relative size and location of the objectkey 120 with respect to the object 130, in some embodiments, provides amechanism to know where the object 130 is when tracking the object key120. For example, if the object key 120 is at the top of the object 130,then tracking the object key 120 indicates that the object 130 is belowthe object key 120.

Calculating a size of the object key 120 with respect to the object 130provides a mechanism to understand how far the object 130 extends beyondthe object key 120. When looking at a vertical dimension of the object130 and object key 120, for example, if the object key 120 is at the topof the object 130 and has a vertical dimension that is 10 percent of theoverall vertical dimension of the object 130 then the image processingapparatus 102 knows that 90 percent of the object 130 is below theobject key 120.

In some embodiments, the size and position module 206 calculates arelative size and location of potential object keys 120 of the object130 and coordinates with the object key module 204 to provideinformation for the object key module 204 to select an object key 120.In some examples, the size and position module 206 calculates the sizeof the object 130 and a size and location of each potential object key120 to provide information to the object key module 204 to select anobject key 120.

The apparatus 200 includes a tracking module 208 configured to track oneor more locations of the object 130 from the relative size and locationof the object 130 with respect to the object key 120 and by capturing aplurality of images of the object key 120 at a resolution sufficient fortracking movement of the object key 120. For example, an image capturedevice 104 captures an image of the object key 120 with enoughresolution to identify the object key 120 and the tracking module 208then determines a location of the object 130 based on the location ofthe object key 120 with respect to the object 130 and based on the sizeof the object 130. The tracking module 208 assumes that the object key120 is attached to the object 130.

In some embodiments, the tracking module 208 tracking the one or morelocations of the object 130 includes capturing images of portions of theobject 130 that are not the object key 120 at a lower resolution and/ora lower rate than a resolution and/or rate sufficient for trackingmovement of the object key 120. As used herein, capturing images ofportions of the object 130 that are not the object key 120 at a lowerresolution and/or a lower rate includes receiving raw data from theimage capture device 104 and then processing the raw data at a lowerresolution and/or at a lower rate than raw data corresponding to theobject key 120, which results in an overall lower image processing loadthan processing raw data for the object 130 and object key 120 at a sameresolution/rate.

In other embodiments, the tracking module 208 tracking the one or morelocations of the object includes capturing images of the object key 120without capturing images of portions of the object 130 that are not theobject key 120. As used herein, capturing images of the object key 120without capturing images of portions of the object 130 that are not theobject key 120 includes processing raw data from an image capture device104 of the object key 120 without processing raw data from the imagecapture device 104 for portions of the object 130 that are not theobject key 120.

Beneficially, the image processing apparatus 102 provides a way toreduce image processing load when tracking an object 130. By tracking anobject key 120 attached to the object 130, the image processingapparatus 102 is able to reduce image processing of the rest of theobject 130.

FIG. 3 is a schematic block diagram illustrating another apparatus 300for using an object key 120 to deprioritize processing of relativeregions of images of an object 130, according to various embodiments.The apparatus 300 includes another image processing apparatus 102 thatincludes an object capture module 202, an object key module 204, a sizeand position module 206, and a tracking module 208, which aresubstantially similar to those described above in relation to theapparatus 200 of FIG. 2 . The apparatus 300, in various embodiments,includes an object selection module 302, a periodic capture module 304,an attachment module 306, a recognizability module 308, a pixel rangemodule 310, and/or an object database 312, which are described below.

The apparatus 300 includes, in some embodiments, an object selectionmodule 302 configured to select the object 130 for tracking. In someembodiments, the object selection module 302 selects the object 130 andidentifies the object 130 to the object capture module 202 for capturingthe image of the object 130. In some embodiments, the object selectionmodule 302 selects the object 130 based on user input. In otherembodiments, the object selection module 302 selects the object 130based on the object 130 entering a field of view of an image capturedevice 104.

In other embodiments, the object selection module 302 selects the object130 automatically based on particular criteria, such as a particulartype of object 130. For example, the object selection module 302 mayselect an object 130 that is a person in a field of view of an imagecapture device 104 while not selecting other potential objects, like adog or a cat passing through the field of view. In other embodiments,the object selection module 302 selects an object 130 that is aparticular person based on features of the person. In some examples, theobject selection module 302 uses a facial recognition algorithm toselect a person as the object 130. One of skill in the art willrecognize other ways for the objection selection module 302 to select anobject 130.

In some embodiments, the apparatus 300 includes a periodic capturemodule 304 configured to periodically capture an image of portions ofthe object 130 that are not the object key 120 at a resolutionsufficient to verify that the object 130 is attached to the object key120. For example, attachment of the object key 120 to the object 130 maynot be permanent and the periodic capture module 304 verifies on aperiodic basis that the object key 120 is attached to the object 130 bycapturing an image of the object 130 at a high enough resolution toverify attachment. Additionally, periodically capturing an image of theobject 130 provides a mechanism to identify any changes to the object130. For example, if the object 130 is a vehicle, an image of thevehicle captured by the periodic capture module 304 might be able toidentify a change to the vehicle, for example if the vehicle was in acrash. Where the object 130 is a person and the object key 120 is a hat,the periodic capture module 304 is able to verify that a differentperson is not wearing the hat.

In some embodiments, the periodic capture module 304 and/or theattachment module 306, as described below, determines a degree ofattachment between the object key 120 and the object 130 and theperiodic capture module 304 is configured to determine a verificationrate based on the degree of attachment and is configured to periodicallycapture, at the verification rate, an image of the object 130 at aresolution sufficient to verify that the object 130 is attached to theobject key 120. In some embodiments, a higher degree of attachmentresults in a lower verification rate than a lower degree of attachment.Thus, when the degree of attachment is low, the periodic capture module304 captures images of the object 130 at a higher rate than when thedegree of attachment is high.

In other embodiments, the periodic capture module 304 is configured tocapture an image of the object 130 in other situations. For example,when the tracking module 208 is tracking the object key 120 with a firstimage capture device 104 and determines that the object key 120 hasmoved into a field of view of a second image capture device 104, theperiodic capture module 304 captures an image of the object 130 beforethe tracking module 208 switches to track using the second image capturedevice 104. In other embodiments, the periodic capture module 304captures an image of the object 130 after detecting a reduction offidelity of an image of the object key 120, after interruption oftracking of the object key 120, when the object 130 rotates and theobject key 120 is not visible, and the like. One of skill in the artwill recognize other situations where the periodic capture module 304 isconfigured to capture an image of the object 130 at a resolutionsufficient to verify attachment of the object key 120 to the object 130.

In some embodiments, the apparatus 300 includes an attachment module 306configured to, in response to the object key module 204 identifying oneor more object keys 120, determines a degree of attachment between eachof the one or more object keys 120 and the object 130. In someembodiments, the attachment module 306 uses a range for the degree ofattachment. For example, the degree of attachment may be on a scale of 1to 10 where a 1 is very loosely attached and a 10 is permanentlyattached. For example, the attachment module 306 might assign a hat on aperson a 2, a shirt on a person a 4, and the face of a person a 10. Inother embodiments, the range is on another scale, such as zero to 100percent, A to D, 1 to 5, 0 to 1.0, etc.

In some embodiments, the attachment module 306 references an attachmentdatabase that includes a degree of attachment for known objects 130 andknown object keys 120 of the objects 130. In other embodiments, theattachment module 306 receives user input to determine a degree ofattachment. In other embodiments, the attachment module 306 uses amachine learning algorithm to calculate a degree of attachment ofvarious objects 130 and attached object keys 120 where the machinelearning algorithm receives input from a number of sources, such as userinput, a knowledge base, historical information, etc. The attachmentmodule 306, in some embodiments, uses the machine learning algorithm toperiodically or continuously update an attachment database. In someembodiments, the attachment database is the object database 312, asdescribed below.

The apparatus 300, in some embodiments, includes a recognizabilitymodule 308 configured to determine a degree of recognizability of eachof the plurality of object keys 120 where the degree of recognizabilityof an object key 120 of the plurality of object keys 120 includes ameasure of physical properties of the object key sufficient for trackingthe one or more locations of the object 130 by capturing the pluralityof images of the object key 120. The recognizability module 308, in someembodiments, uses features such as text, numbers, designs, patterns,lines, and other features of an object key 120 to determine a degree ofrecognizability of the object key 120. In some embodiments, therecognizability module 308 uses a range of degrees of recognizabilitywhere a low score represents an object key 120 that is not recognizableor hard to track and a high score indicates an object key 120 withphysical features that make tracking the object key 120 easy. One ofskill in the art will recognize other ways for the recognizabilitymodule 308 to determine a degree of recognizability for each potentialobject key 120.

In some embodiments, the object key module 204 is configured to selectan object key 120 of one or more of object keys 120 based on the degreeof attachment and the degree of recognizability of each object key 120of the one or more object keys 120. In some embodiments, where there area plurality of object keys 120 of an object 130, the object key module204 is configured to determine an object key score for each potentialobject key 120 and the object key module 204 selects an object key 120with a highest object key score. For example, the object key module 204may determine an object key score of a potential object key 120 by usinga weighted average between the degree of attachment and the degree ofrecognizability of an object key 120 and then selects an object key 120with a highest object key score. In other embodiments, the object keymodule 204 eliminates potential object keys 120 that are below theminimum size limit or have a size that is above a maximum percentage ofa size of the object 130.

In other embodiments, the object key module 204 uses a minimum degree ofattachment and/or a minimum degree of recognizability to eliminatepotential object keys 120. In other embodiments, where no potentialobject key 120 meets the minimum size limit, has a size is below amaximum percentage of the object 130, has a degree of attachment abovethe minimum degree of attachment, and/or has a degree of recognizabilityabove the minimum degree of recognizability, the image processingapparatus 102 tracks the object 130 using image capture data for theentire object 130 that is not reduced for any particular area of theobject 130. In other embodiments, the object key module 204 uses othercriteria to select an object key 120, such as a location of a potentialobject key 120 with respect to the object and a position of imagecapture devices 104. For example, the object key module 204 may selectobject keys 120 on top of an object where image capture devices 104 areoverhead.

In some embodiments, the apparatus 300 includes a pixel range module 310configured to, in response to the size and position module 206calculating the relative size the location of the object key 120 withrespect to the object 130, determine a pixel range of the portions ofthe object 130 that are not the object key 120. The tracking module 208tracking the one or more locations of the object 130 includes capturingpixels of portions of the object 130 that are not the object key 120 ata lower resolution and/or a lower rate than a resolution and/or ratesufficient for tracking movement of the object key 120. In otherembodiments, capturing pixels of portions of the object 130 that are notthe object key 120 at a lower resolution and/or a lower rate than aresolution and/or rate sufficient for tracking movement of the objectkey 120 includes deprioritizing processing of the pixels of the portionsof the object 130 that are not the object key 120, lowering a fidelityof the pixels of the portions of the object 130 that are not the objectkey 120, and/or avoiding sending the pixels of the portions of theobject 130 that are not the object key 120 to a remote processingentity. While embodiments described herein discuss tracking portions ofthe object 130 not including the object key 120 at a lower resolution,it is understood that tracking at a lower resolution also includestracking at a lower rate, deprioritizing processing, and othertechniques to lower processing load of the image processing apparatus102.

In some embodiments, the object key module 204 matches the object 130with an object entry in an object database 314 and the object entryincludes one or more object keys 120 for the object and the object keymodule 204 selects an object key 120 from the object entry in the objectdatabase 312. For example, the object database 312 may include variousobject entries each corresponding to a different object 130. Each objectentry of the object database 312 includes information about an object130 and various object keys 120 of the object 130 and may also includeother information, such as a degree of attachment for each object key120, a degree of recognizability for each object key 120, and the like.

In some embodiments, the image processing apparatus 102 uses a machinelearning algorithm to update contents of the object database 312. Insome embodiments, the machine learning algorithm uses original entriesin the object database 312 and then uses user input, online informationabout objects, and the like to update the object database 312. One ofskill in the art will recognize other ways for the object key module 204to use an object database 312 and for the image processing apparatus 102to maintain and update the object database 312 using machine learning.

FIG. 4 is a schematic flow chart diagram illustrating a method 400 forusing an object key 120 to deprioritize processing of relative regionsof images of an object 130, according to various embodiments. The method400 begins and captures 402 an image of an object 130 to be tracked andselects 404 an object key 120 of the object 130. The object key 120includes a portion of the object 130, the object key 120 is attached tothe object 130 and is recognizable by an image capture device 104. Themethod 400 calculates 406 a relative size of the object key 120 withrespect to a size of the object 130 and a location of the object key 120with respect to the object 130.

The method 400 tracks 408 one or more locations of the object 130 fromthe relative size and location of the object 130 with respect to theobject key 120 and by capturing a plurality of images of the object key120 at a resolution sufficient for tracking movement of the object key120, and the method 400 ends. In various embodiments, all or a portionof the method 400 is implemented using the object capture module 202,the object key module 204, the size and position module 206, and/or thetracking module 208.

FIG. 5A is a first part and FIG. 5B is a second part of a schematic flowchart diagram illustrating another method 500 for using an object key120 to deprioritize processing of relative regions of images of anobject 130, according to various embodiments. The method 500 begins andselects 501 and object 130 for tracking and captures 502 an image of theobject 130 to be tracked. The method 500 identifies 504 a plurality ofpotential object keys 120 within the image of the object 130 andcalculates 506 a relative size of each of the plurality of potentialobject keys 120 with respect to a size of the object 130 and a locationof each of the plurality of potential object keys 120 with respect tothe object 130.

The method 500 determines 508 a degree of attachment between each of theplurality of potential object keys 120 and the object 130 and determines510 a degree of recognizability of each of the plurality of potentialobject keys 120. The degree of recognizability of an object key 120 ofthe plurality of potential object keys includes a measure of physicalproperties of the object key 120 sufficient for tracking locations ofthe object 130 by capturing the plurality of images of the object key120.

The method 500 selects 512 an object key 120 of the plurality ofpotential object keys 120 based on a size and location of each of thepotential object keys 120, and the degree of attachment and the degreeof recognizability of each of the plurality of potential object keys120. The method 500 determines 514 a verification rate based on thedegree of attachment of the object key 120 to the object 130 (follow “A”on FIG. 5A to “A” on FIG. 5B). A higher degree of attachment results ina lower verification rate than a lower degree of attachment. The method500 determines 516 a pixel range of the portions of the object 130 thatare not the object key 120 and tracks 518 one or more locations of theobject from the relative size and location of the object 130 withrespect to the object key 120 and by capturing a plurality of images ofthe object key 120 at a resolution sufficient for tracking movement ofthe object key 120 and capturing pixels of portions of the object 130that are not the object key 120 at a lower resolution and/or a lowerrate than a resolution and/or rate sufficient for tracking movement ofthe object key 120.

The method 500 determines 520, based on the verification rate, if it istime for a periodic sample of a full image of the object 130. If themethod 500 determines 520 that it is not time for a periodic sample, themethod 500 returns and continues to track 518 the object 130 bycapturing images of the object key 120. If the method 500 determines 520from the verification rate that it is time for a periodic sample, themethod 500 captures 522 an image of the object 130 and object key 120 ata resolution sufficient to determine if the object key 120 is attachedto the object 130. The method 500 determines 524 from the captured imageof the object 130 and object key 120 if the object key 120 is attachedto the object 130.

If the method 500 determines 524 that the object key 120 is attached tothe object 130, the method 500 returns and continues to track 518 theobject 130 by capturing images of the object key 120. If the method 500determines 524 that the object key 120 is not attached to the object130, the method 500 sends 526 an alert and the method 500 ends. Invarious embodiments, all or a portion of the method 500 is implementedusing the object capture module 202, the object key module 204, the sizeand position module 206, the tracking module 208, the object selectionmodule 302, the periodic capture module 304, the attachment module 306,the recognizability module 308, the pixel range module 310, and/or theobject database 312.

Embodiments may be practiced in other specific forms. The describedembodiments are to be considered in all respects only as illustrativeand not restrictive. The scope of the invention is, therefore, indicatedby the appended claims rather than by the foregoing description. Allchanges which come within the meaning and range of equivalency of theclaims are to be embraced within their scope.

What is claimed is:
 1. A method comprising: capturing, using an imagecapture device, an image of an object to be tracked; analyzing, usingthe image capture device, the image of the object to identify one ormore recognizable portions of the object; selecting an object key of theobject, the object key comprising a portion of the one or morerecognizable portions of the object, the object key attached to theobject and comprising recognizable features, wherein the object key isrecognizable by the image capture device based on the recognizablefeatures of the object key, the object key comprising a portion of theobject visible in a same light spectrum as the object; calculating arelative size of the object key with respect to a size of the object anda location of the object key with respect to the object; tracking one ormore locations of the object from the relative size and location of theobject with respect to the object key and based on capturing a pluralityof images of the object key, using one or more image capture devices, ata resolution sufficient to identify the recognizable features of theobject key and to track movement of the object key; and periodicallycapturing, at a rate lower than a rate for the capturing of theplurality of images of the object key, an image of portions of theobject that are not the object key at a resolution sufficient toidentify recognizable features of the portions of the object that arenot the object key and using the capture of the image of the portions ofthe object that are not the object key to verify that the object isstill attached to the object key.
 2. The method of claim 1, whereintracking the one or more locations of the object comprises: capturingimages of portions of the object that are not the object key at a lowerresolution than the resolution sufficient to identify the recognizablefeatures of the object key while tracking movement of the object key;and/or capturing images of portions of the object that are not theobject key at a lower rate than a rate of capturing images of theplurality of images of the object key.
 3. The method of claim 1, whereintracking the one or more locations of the object comprises capturingimages of the object key without capturing images of portions of theobject that are not the object key.
 4. The method of claim 1, furthercomprising: determining a degree of attachment between the object andthe object key; determining a verification rate based on the degree ofattachment, wherein a higher degree of attachment results in a lowerverification rate than a lower degree of attachment; and periodicallycapturing, at the verification rate, an image of the object at aresolution sufficient to identify recognizable features of the object toverify that the object is still attached to the object key.
 5. Themethod of claim 1, wherein the captured image of the object is capturedwith an image capture device, and wherein the captured plurality ofimages of the object key are captured using one or more image capturedevices and wherein one or more image capture devices capturing theimage of the object and the plurality of images of the object key usevisible light, infrared light, and/or thermal imaging.
 6. The method ofclaim 1, further comprising identifying, in response to capturing theimage of the object, the object key within the image of the object,wherein the object key is a recognizable element of the object withphysical properties sufficient to identify the recognizable features ofthe object key and to track the one or more locations of the object bycapturing the plurality of images of the object key.
 7. The method ofclaim 1, further comprising: identifying, in response to capturing theimage of the object, a plurality of potential object keys within theimage of the object; determining a degree of attachment between each ofthe plurality of potential object keys and the object; and determining adegree of recognizability of each of the plurality of potential objectkeys, the degree of recognizability of an object key of the plurality ofpotential object keys comprising a measure of physical properties of theobject key sufficient to identify the recognizable features of theobject key and to track the one or more locations of the object bycapturing the plurality of images of the object key, wherein selectingthe object key of the object comprises selecting an object key of theplurality of potential object keys based on the degree of attachment andthe degree of recognizability of each object key of the plurality ofpotential object keys.
 8. The method of claim 1, further comprising, inresponse to calculating the relative size of the object key with respectto the size of the object and the location of the object key withrespect to the object, determining a pixel range of the portions of theobject that are not the object key, wherein tracking the one or morelocations of the object comprises capturing pixels of portions of theobject that are not the object key at a lower resolution and/or a lowerrate than a resolution and/or rate sufficient to identify therecognizable features of the object key and to track movement of theobject key.
 9. The method of claim 8, wherein capturing pixels ofportions of the object that are not the object key at a lower resolutionand/or a lower rate than a resolution and/or rate sufficient to identifythe recognizable features of the object key and to track movement of theobject key comprises deprioritizing processing of the pixels of theportions of the object that are not the object key, lowering a fidelityof the pixels of the portions of the object that are not the object key,and/or avoiding sending the pixels of the portions of the object thatare not the object key to a remote processing entity.
 10. The method ofclaim 1, wherein selecting the object key is based on a minimum sizelimit, the minimum size limit comprising a smallest size for a potentialobject key to be selected based on capabilities of the image capturedevice.
 11. An apparatus comprising: a processor; and a memory storingcode, the code being executable by the processor to perform operationscomprising: capturing, using an image capture device, an image of anobject to be tracked; analyzing, using the image capture device, theimage of the object to identify one or more recognizable portions of theobject; selecting an object key of the object, the object key comprisinga portion of the one or more recognizable portions of the object, theobject key attached to the object and comprising recognizable features,wherein the object key is recognizable by the image capture device basedon the recognizable features of the object key, the object keycomprising a portion of the object visible in a same light spectrum asthe object; calculating a relative size of the object key with respectto a size of the object and a location of the object key with respect tothe object; and tracking one or more locations of the object from therelative size and location of the object with respect to the object keyand based on capturing a plurality of images of the object key, usingone or more image capture devices, at a resolution sufficient toidentify the recognizable features of the object key and to trackmovement of the object key; and periodically capturing, at a rate lowerthan a rate for the capturing of the plurality of images of the objectkey, an image of portions of the object that are not the object key at aresolution sufficient to identify recognizable features of the portionsof the object that are not the object key and using the capture of theimage of the portions of the object that are not the object key toverify that the object is still attached to the object key.
 12. Theapparatus of claim 11, wherein tracking the one or more locations of theobject comprises: capturing images of portions of the object that arenot the object key at a lower resolution than the resolution sufficientto identify the recognizable features of the object key while trackingmovement of the object key; capturing images of portions of the objectthat are not the object key at a lower rate than a rate of capturingimages of the plurality of images of the object key; and/or capturingimages of the object key without capturing images of portions of theobject that are not the object key.
 13. The apparatus of claim 11, theoperations further comprising: determining a degree of attachmentbetween the object and the object key; determining a verification ratebased on the degree of attachment, wherein a higher degree of attachmentresults in a lower verification rate than a lower degree of attachment;and periodically capturing, at the verification rate, an image of theobject at a resolution sufficient to identify recognizable features ofthe object to verify that the object is still attached to the objectkey.
 14. The apparatus of claim 11, wherein the captured image of theobject is captured with an image capture device, and wherein thecaptured plurality of images of the object key are captured using one ormore image capture devices.
 15. The apparatus of claim 11, theoperations further comprising identifying, in response to capturing theimage of the object, the object key within the image of the object,wherein the object key is a recognizable element of the object withphysical properties sufficient to identify the recognizable features ofthe object key and to track the one or more locations of the object bycapturing the plurality of images of the object key.
 16. The apparatusof claim 11, the operations further comprising: identifying, in responseto capturing the image of the object, a plurality of potential objectkeys within the image of the object; determining a degree of attachmentbetween each of the plurality of object keys and the object; anddetermining a degree of recognizability of each of the plurality ofobject keys, the degree of recognizability of an object key of theplurality of object keys comprising a measure of physical properties ofthe object key sufficient to identify the recognizable features of theobject key and to track the one or more locations of the object bycapturing the plurality of images of the object key, wherein selectingthe object key of the object comprises selecting an object key of theplurality of object keys based on the degree of attachment and thedegree of recognizability of each object key of the plurality of objectkeys.
 17. A program product comprising a non-volatile computer readablestorage medium storing code, the code being configured to be executableby a processor to perform operations comprising: capturing, using animage capture device, an image of an object to be tracked; analyzing,using the image capture device, the image of the object to identify oneor more recognizable portions of the object; selecting an object key ofthe object, the object key comprising a portion of the one or morerecognizable portions of the object, the object key attached to theobject and comprising recognizable features, wherein the object key isrecognizable by the image capture device based on the recognizablefeatures of the object key, the object key comprising a portion of theobject visible in a same light spectrum as the object; calculating arelative size of the object key with respect to a size of the object anda location of the object key with respect to the object; and trackingone or more locations of the object from the relative size and locationof the object with respect to the object key and based on capturing aplurality of images of the object key, using one or more image capturedevices, at a resolution sufficient to identify the recognizablefeatures of the object key and to track movement of the object key; andperiodically capturing, at a rate lower than a rate for the capturing ofthe plurality of images of the object key, an image of portions of theobject that are not the object key at a resolution sufficient toidentify recognizable features of the portions of the object that arenot the object key and using the capture of the image of the portions ofthe object that are not the object key to verify that the object isstill attached to the object key.
 18. The program product of claim 17,wherein tracking the one or more locations of the object comprises:capturing images of portions of the object that are not the object keyat a lower resolution than the resolution sufficient to identify therecognizable features of the object key while tracking movement of theobject key; and/or capturing images of portions of the object that arenot the object key at a lower rate than a rate of capturing images ofthe plurality of images of the object key.